package cn.xabad.server.thea.security;

import javax.servlet.*
import javax.servlet.annotation.WebFilter
import javax.servlet.http.HttpServletRequest
import javax.servlet.http.HttpServletResponse


/**
 *
 * 使用注解标注过滤器
 * @WebFilter将一个实现了javax.servlet.Filter接口的类定义为过滤器
 * 属性filterName声明过滤器的名称,可选
 * 属性urlPatterns指定要过滤的URL模式,也可使用属性value来声明.(指定要过滤的URL模式是必选属性)
 *
 * @version v.0.1
 */
@WebFilter(filterName = "myFilter", urlPatterns = arrayOf("/*"))
class MyFilter : Filter {

    override fun destroy() {
        println("过滤器销毁")
    }

    override fun doFilter(request: ServletRequest, response: ServletResponse, chain: FilterChain) {
        (response as HttpServletResponse).setHeader("X-Frame-Options","SAMEORIGIN")
        chain.doFilter(request, response)
    }

    override fun init(filterConfig: FilterConfig) {
        println("过滤器初始化")
    }
}